<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFrameworks>netstandard2.0;$(NetFrameworkMinimum);$(NetCoreAppMinimum)</TargetFrameworks>
    <UseCompilerGeneratedDocXmlFile>false</UseCompilerGeneratedDocXmlFile>
    <IsPackable>true</IsPackable>
    <PackageDescription>Provides support for system time abstraction primitives for .NET Framework and .NET Standard.

Commonly Used Types:
System.TimeProvider
System.ITimer</PackageDescription>
  </PropertyGroup>

  <!-- DesignTimeBuild requires all the TargetFramework Derived Properties to not be present in the first property group. -->
  <PropertyGroup>
    <IsPartialFacadeAssembly Condition="$([MSBuild]::GetTargetFrameworkIdentifier('$(TargetFramework)')) == '.NETCoreApp'">true</IsPartialFacadeAssembly>
    <OmitResources Condition="'$(IsPartialFacadeAssembly)' == 'true'">true</OmitResources>
  </PropertyGroup>

  <ItemGroup Condition="'$(IsPartialFacadeAssembly)' != 'true'">
    <Compile Include="$(CommonPath)System\TimeProvider.cs" Link="System\TimeProvider.cs" />
    <Compile Include="$(CommonPath)System\Threading\ITimer.cs" Link="System\Threading\ITimer.cs" />
  </ItemGroup>

  <ItemGroup>
    <Compile Include="System\Threading\Tasks\TimeProviderTaskExtensions.cs" />
  </ItemGroup>

  <ItemGroup Condition="'$(IsPartialFacadeAssembly)' != 'true'">
    <ProjectReference Include="$(LibrariesProjectRoot)Microsoft.Bcl.AsyncInterfaces\src\Microsoft.Bcl.AsyncInterfaces.csproj" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'">
    <PackageReference Include="System.ValueTuple" Version="$(SystemValueTupleVersion)" />
  </ItemGroup>

</Project>
